<?php

namespace app\api\controller;

use EasyWeChat\Factory;
use think\Db;
use think\Controller;
use think\helper\Str;


class Wechat extends Controller
{
    function MessageText($message_content, $openid)  //  返回消息的方法
    {
        $message = explode(' ', $message_content);
        $method = $message[0];
        if ($method == '成绩') {
            $user_data = Db::name('user')->where('open_id', $openid)->find();
            if (empty($user_data)) {
                return '你倒是先绑定一下账号哪[捂脸]';
            } else {
                if (!isset($message[1]) || !isset($message[2])) {
                    return '你耍我呢？你的学年和学期号输入了吗[再见]';
                }
                $year = $message[1];
                $term = $message[2];
                $uid = $user_data['Id'];
                $grade_datas = Db::name('grade')->where(['uid' => $uid, 'year' => $year, 'term' => $term])->select();
                if (!empty($grade_data)) {
                    $str = '';
                    foreach ($grade_datas as $grade_data) {
                        $str = $str . "课程名称：" . $grade_data['class'] . "  | \n 分数：" . $grade_data['score'] . "  | \n 学分：" . $grade_data['xf'] . "  |  \n绩点：" . $grade_data['jd'] . "\n";
                    }
                    return $str;
                } else {
                    return '你这学期哪有成绩啊[捂脸][捂脸][捂脸]';
                }

            }
        }
        if ($method == '绑定') {
            $user = $message[1];
            $pwd = $message[2];
            $user_data = Db::name('user')->where(['name' => $user, 'password' => md5($pwd)])->find();
            if (!empty($user_data)) {
                if (Db::name('user')
                    ->where(['name' => $user, 'password' => md5($pwd)])
                    ->update(['open_id' => $openid])
                ) {
                    return '绑定成功[旺财]';
                } else {
                    return '绑定失败[脸红]';
                }
            } else {
                return '你怕不是输入了假的用户名密码[吃瓜]';
            }
        }
        if ($method == '帮助') {
            return "欢迎关注小王的功能平台哦\n关于如何使用这件事，请听我细细道来：\n首先啊,我们需要绑定忆流年小站上的账号，那么如何绑定呢？\n只需要回复消息“绑定 账号 密码”就行啦\n例如：“绑定 小王 123456”\n注意：中间有空格哦\n然后，我们现在支持的功能有：\n成绩查询:\n发送格式：“成绩 学年 学期”\n例如：“成绩 2020 1”\n好啦，就这样啦，后续会有更多功能哒，敬请期待哦！\n[让我看看][让我看看][让我看看]";
        }
    }

    public function api()   // 微信公众号api
    {
        $config = [
            'app_id' => 'wx7f0937218f8ebaa7',
            'secret' => '',
            'token' => 'xiaowang',
            'aes_key' => '',
            'response_type' => 'array'
        ];
        $app = Factory::officialAccount($config);
        $app->server->push(function ($message) {
            switch ($message['MsgType']) {
                case 'text':
                    return $this->MessageText($message['Content'], $message['FromUserName']);
                    break;
                case 'event':
                    return "欢迎关注小王的功能平台哦\n关于如何使用这件事，请听我细细道来：\n首先啊,我们需要绑定忆流年小站上的账号，那么如何绑定呢？\n只需要回复消息“绑定 账号 密码”就行啦\n例如：“绑定 小王 123456”\n注意：中间有空格哦\n然后，我们现在支持的功能有：\n成绩查询:\n发送格式：“成绩 学年 学期”\n例如：“成绩 2020 1”\n好啦，就这样啦，对啦，不会用的记得回复“帮助”哦[让我看看]后续会有更多功能哒，敬请期待哦！\n[让我看看][让我看看][让我看看]";
            }

        });
        $reponse = $app->server->serve();
        $reponse->send();
    }
}

